package com.zdkj.subway.stm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.zdkj.subway.stm.util.CardTypeConverter;
import com.zdkj.subway.stm.util.CardTypeParamConverter;
import com.zdkj.subway.stm.util.LocalDateConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 车站车票售卖详细信息
 *
 * @author songtuo
 * @date 2020-07-14 11:52:25
 */
@Data
@TableName("sw_st_conductor_sell_detail")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "车站车票售卖详细信息")
public class SwStConductorSellDetail extends Model<SwStConductorSellDetail> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    @ExcelIgnore
    private Integer id;
    /**
     * 线路编码不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "线路编码不能重复")
    private String lineCode;
    /**
     * 车站编码不能重复
     */
    @ExcelIgnore
    @ApiModelProperty(value = "车站编码不能重复")
    private String stationCode;
    /**
     * 售票员ID
     */
    @ExcelIgnore
    @ApiModelProperty(value = "售票员ID")
    private Integer conductorId;
    /**
     * 售票员名称
     */
    @ExcelProperty(value = "售票员",index = 0)
    @ApiModelProperty(value = "售票员名称")
    private String conductorName;
    /**
     * 售票员员工号
     */
    @ExcelProperty(value = "售票员工号",index = 1)
    @ApiModelProperty(value = "售票员工号")
    private String conductorJobNo;
    /**
     * 车票类型
     */
    @ApiModelProperty(value = "车票类型")
    @ExcelProperty(value = "车票类型",index = 2)
    private String cardType;
    /**
     * 车票名称
     */
    @ApiModelProperty(value = "车票名称")
    @ExcelProperty(value = "车票名称",index = 3)
    private String ticketName;
    /**
     * 售卖数量
     */
    @ExcelProperty(value = "售卖数量",index = 4)
    @ApiModelProperty(value = "售卖数量")
    private String cardNumber;
    /**
     * 售卖金额
     */
    @ExcelProperty(value = "售卖金额",index = 5)
    @ApiModelProperty(value = "售卖金额")
    private String issueAmount;
    /**
     * 售卖时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "时间", converter = LocalDateConverter.class,index = 7)
    @ApiModelProperty(value = "售卖时间")
    private LocalDate issueTime;
    /**
     * 售卖类型
     */
    @ExcelProperty(value = "售卖类型",index = 6)
    @ApiModelProperty(value = "售卖类型")
    private String issueType;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注",index = 8)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 部门ID
     */
    @ExcelIgnore
    @ApiModelProperty(value = "部门ID")
    private Integer deptId;
    /**
     * 创建人ID
     */
    @ExcelIgnore
    @ApiModelProperty(value = "创建人ID")
    private Integer creatorId;
    /**
     * 创建人名称
     */
    @ExcelIgnore
    @ApiModelProperty(value = "创建人名称")
    private String creatorName;
    /**
     * 创建时间
     */
    @ExcelIgnore
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 数据更新时间
     */
    @ExcelIgnore
    @ApiModelProperty(value = "数据更新时间")
    private LocalDateTime updateTime;
    /**
     * 删除标志 1：删除 0：未删
     */
    @ExcelIgnore
    @ApiModelProperty(value = "删除标志 1：删除 0：未删")
    private String delFlag;

    /**
     * 用于前端传开始结束日期
     */
    @TableField(exist = false)
    @ExcelIgnore
    private List<String> dates1;
}
